<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		.router-link-active, .my-active{
			font-size: 20px;
			font-weight: 200;
			color: #e41;
			background-color: #ccc;
		}

		.v-enter,
		.v-leave-to{
			opacity: 0;
			transform: translateY(390px);
		}

		.v-enter-active,
		.v-leave-active{
			transition: all 0.6s ease;
		}
	</style>
</head>
<body>
<div id="app">
	<!-- <a href="#/login">登陆</a>&nbsp;&nbsp;<a href="#/register">注册</a> -->

	<!-- router-link 默认渲染为一个a 标签 -->
	<router-link to="/login">登陆</router-link>&nbsp;&nbsp;
	<router-link to='/register'>注册</router-link>

	
	<!-- 这是 vue-routert 提供的元素，当作占位符的，将来，路由规则，匹配到的组件，就会展示到这个 router-view中去 -->
	<!-- 所以：我们可以把 router-view 认为是一个占位符 -->
	<transition mode="out-in">
		<router-view></router-view>
	</transition>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<!-- 1.安装 vue-router 路由模块 -->
<script src="node_modules/vue-router/dist/vue-router.js"></script>
<script>
	// 组件的模板对象
	// 登陆组件
	var login = {
		template : '<h1>登陆组件</h1>'
	}
	// 注册组件
	var register = {
		template : '<h1>注册组件</h1>'
	}

	// 2.创建一个路由对象，当导入 vue-router 包之后，在window全局对象中，就有了一个路由的构造函数，叫做VueRouter
	// 在 new 路由对象的时候，可以为构造函数，传递一个配置对象
	var routerObj = new VueRouter({
		// route 这个配置对象中的route表示 [路由匹配规则] 的意思
		routes:[ // 路由匹配规则
			// 每个路由规则，都是一个对象，这个规则对象，身上，有两个必须的属性
			// 属性1 是path,表示监听 哪个路由链接地址
			// 属性2 是 component, 表示，如果 路由是前面匹配到的path, 则展示 component 属性对应的那个组件
			// 注意：component 的属性值，必须是一个组件的模板对象，不能是 组件的引用名称
			{ path : '/', redirect: '/login'},
			{ path : '/login', component : login},
			{ path : '/register', component : register}
		],
		// 设置 链接激活时使用的 CSS 类名。默认值可以通过路由的构造选项 linkActiveClass 来全局配置。
		linkActiveClass:'my-active'
	})
	var app = new Vue({
		el:'#app',
		data:{},
		// 将路由规则对象，注册到vm实例上，用来监听 url 地址的变化，然后展示对应的组件
		router:routerObj
	})
</script>
</body>
</html>